﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Globalization;
using System.Windows.Media;
/*****************************************************************************************************************     
 Copyright © 2013 - Banco Itaú BBA S.A
         
 PageGarantiaContratoImportacaoLote:
            
 Histórico de Alterações:      
  18/09/2013 - Alexandre Nascimento

 *****************************************************************************************************************/

namespace ibba.src.norisk
{
    public partial class PageGarantiaContratoImportacaoLote : Page
    {
        #region VARIAVEIS

        private List<ServiceGarantiaContrato.GarantiaContrato> _garantiaContrato;
        private List<ServiceGarantiaContrato.GarantiaContrato> _listaDistinct;
        private PageGarantiaContratoImpExcel _pageGarantiaContratoImpExcel;
        private PageGarantiaContratoExpExcel _pageGarantiaContratoExpExcel;
        private PageGarantiaContratoPresenter _pageGarantiaContratoPresenter;
        private decimal _percpercHE;
        private decimal _percpercHV;
        private decimal _percpercLMM;
        private bool retorno;
        private List<CadastroUtilizar> _listUtilizar;
        private List<CadastroIncondicional> _listIncondicional;

        #endregion

        #region CONSTRUTOR

        public PageGarantiaContratoImportacaoLote()
        {
            InitializeComponent();

            _pageGarantiaContratoPresenter = new PageGarantiaContratoPresenter();

            _listUtilizar = new List<CadastroUtilizar>();

            _listUtilizar.Add(new CadastroUtilizar() { IndUtilizar = 0, strUtilizar = "EAD" });
            _listUtilizar.Add(new CadastroUtilizar() { IndUtilizar = 1, strUtilizar = "LIMITE" });
            _listUtilizar.Add(new CadastroUtilizar() { IndUtilizar = 2, strUtilizar = "AMBOS" });
            _listUtilizar.Add(new CadastroUtilizar() { IndUtilizar = 3, strUtilizar = "NENHUM" });

            _listIncondicional = new List<CadastroIncondicional>();
            _listIncondicional.Add(new CadastroIncondicional() { IndIncondicional = 0, strIncondicional = "NÃO" });
            _listIncondicional.Add(new CadastroIncondicional() { IndIncondicional = 1, strIncondicional = "SIM" });

            _pageGarantiaContratoImpExcel = new PageGarantiaContratoImpExcel();
            _pageGarantiaContratoExpExcel = new PageGarantiaContratoExpExcel();

            CarregarBarraBotoes();
        }

        #endregion

        #region METODOS

        //METODO QUE CARREGA OS BOTOES DA BARRA DE MENUS INFERIOR
        private void CarregarBarraBotoes()
        {
            App.MainPage.barraMenu.ClearButtons();

            //BOTAO IMPORTAR
            App.MainPage.barraMenu.AddNewButton(Constantes.EnumBotoes.BOTAO_IMPORTAR.ToString(),
                                                "Importar",
                                                Constantes.SourceImageApp.BOTAO_IMPORTAR,
                                                0,
                                                new ibba.src.slcomponentes.ControlMenuBar.Botao.DelegateClick(btnImportar_Click));
            App.MainPage.barraMenu.AlterarVisibilidadeBotao(Constantes.EnumBotoes.BOTAO_IMPORTAR.ToString(), AppHelper.Perfil.Contains("master"));


            //BOTAO EXPORTAR
            App.MainPage.barraMenu.AddNewButton(Constantes.EnumBotoes.BOTAO_EXPORTAR.ToString(),
                                                "Exportar",
                                                Constantes.SourceImageApp.BOTAO_EXPORTAR,
                                                1,
                                                new ibba.src.slcomponentes.ControlMenuBar.Botao.DelegateClick(btnExportar_Click));

            App.MainPage.barraMenu.AlterarVisibilidadeBotao(Constantes.EnumBotoes.BOTAO_EXPORTAR.ToString(), AppHelper.Perfil.Contains("master"));


            //BOTAO BAIXAR TEMPLATE
            App.MainPage.barraMenu.AddNewButton(Constantes.EnumBotoes.BOTAO_BAIXAR_TEMPLATE.ToString(),
                                                "Baixar Template",
                                                Constantes.SourceImageApp.BOTAO_BAIXAR_TEMPLATE,
                                                2,
                                                new ibba.src.slcomponentes.ControlMenuBar.Botao.DelegateClick(btnBaixar_Click));

            App.MainPage.barraMenu.AlterarVisibilidadeBotao(Constantes.EnumBotoes.BOTAO_BAIXAR_TEMPLATE.ToString(), AppHelper.Perfil.Contains("master"));

            App.MainPage.barraMenu.AtualizarControles();
        }


        //METODO QUE EXIBE MENSAGEM DE CARREGANDO NA TELA
        private void ExibeCarregando(bool enable, string busyContent)
        {
            activity.BusyContent = busyContent;
            activity.IsBusy = enable;
            App.MainPage.barraMenu.VisibilityButtons = enable ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible;
        }

        //METODO QUE ALTERA O CURSOR PARA AGUARDANDO
        private void AlterarCursorParaAguardando()
        {
            this.Cursor = System.Windows.Input.Cursors.Wait;
        }

        //METODO QUE ALTERA O CURSOR PARA O MODO NORMAL
        private void AlterarCursorParaModoNormal()
        {
            this.Cursor = System.Windows.Input.Cursors.Arrow;
        }

        #endregion

        #region EVENTOS

        //EVENTO DO BOTAO DE IMPORTAR
        private void btnImportar_Click()
        {
            _pageGarantiaContratoImpExcel.Exibir();
        }

        //EVENTO DO BOTAO DE EXPORTAR
        private void btnExportar_Click()
        {
            _pageGarantiaContratoExpExcel.Exibir();
        }

        //EVENTO DO BOTAO DE BAIXAR LAYOUT
        private void btnBaixar_Click()
        {
            string uri = "Data/templateImportacaoGarantias.xls";

            System.Windows.Browser.HtmlPage.Window.Navigate(new Uri(uri, UriKind.RelativeOrAbsolute), "new");
        }

        #endregion
    }
}